package controlador;

import Utilidades.Errores;
import Utilidades.Fechas;
import java.sql.Timestamp;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import modelo.AlertaModelo;
import modelo.entidades.Entidad;
import modelo.entidades.Alerta;
import modelo.entidades.AlertaImp;
import vista.Alerta.AlertaVista;

/**
 *
 * @author jjcamacho
 */
public class AlertaControladorImp extends AbstractControladorImp<AlertaModelo, AlertaVista, String>
        implements AlertaControlador {

    @Override
    Entidad generaEntidad(List<String> datos) {
        Alerta alerta = null;
        String matricula = datos.get(0);
        Timestamp fechaEntradaSQL = null;
        try {
            fechaEntradaSQL = Fechas.obtenerTimestampSQL(Fechas.textoAFecha(datos.get(1)));
        } catch (ParseException e) {
            Errores.mostrarError(e);
        }
        String tipo = datos.get(2);
        Boolean atendida = Boolean.valueOf(datos.get(3)).booleanValue();
        String observacion = datos.get(4);
        alerta = new AlertaImp(matricula, fechaEntradaSQL, tipo);
        alerta.setAtendida(atendida);
        alerta.setObservacion(observacion);

        return alerta;
    }

    @Override
    Entidad generaEntidad(String pk) {
        String matricula = pk;
        String tipo = null;
        Alerta alerta = new AlertaImp(matricula, new java.sql.Timestamp(new Date().getTime()), tipo);

        return alerta;
    }
}
